package cn.wen.mybatis.framework.executor.loader.javassist;


import cn.wen.mybatis.framework.executor.loader.AbstractSerialStateHolder;
import cn.wen.mybatis.framework.executor.loader.ResultLoaderMap;
import cn.wen.mybatis.framework.reflection.factory.ObjectFactory;

import java.util.List;
import java.util.Map;

class JavassistSerialStateHolder extends AbstractSerialStateHolder {

  private static final long serialVersionUID = 8940388717901644661L;

  public JavassistSerialStateHolder() {
  }

  public JavassistSerialStateHolder(
          final Object userBean,
          final Map<String, ResultLoaderMap.LoadPair> unloadedProperties,
          final ObjectFactory objectFactory) {
    super(userBean, unloadedProperties, objectFactory);
  }

  @Override
  protected Object createDeserializationProxy(Object target, Map<String, ResultLoaderMap.LoadPair> unloadedProperties, ObjectFactory objectFactory) {
    return new JavassistProxyFactory().createDeserializationProxy(target, unloadedProperties, objectFactory);
  }
}
